import request from './request'

// 获取环境列表
export function envlist(data) {
  return request({
    url: '/api/HttpTestcase/envs/',
    method: 'get',
    params:data
  })
}

// 环境搜索
// export function envreads(data) {
//   return request({
//     url: '/api/envs/reads/',
//     method: 'post',
//     data: { 'data': data }
//   })
// }

// 禁启用环境,修改环境
export function envupdate(data,id) {
  return request({
    url: '/api/HttpTestcase/envs/' + id + '/',
    method: 'put',
    data
  })
}

// 删除环境
export function envdelete(id) {
  return request({
    url: '/api/HttpTestcase/envs/' + id + '/',
    method: 'delete'
  })
}

// 创建环境
export function envcreate(data) {
  return request({
    url: '/api/HttpTestcase/envs/',
    method: 'post',
    data
  })
}

// 修改环境
export function envsupdate(id,data) {
  return request({
    url: '/api/HttpTestcase/envs/' + id + '/',
    method: 'put',
    data
  })
}

// 获取项目列表
export function projectlist(data) {
  return request({
    url: '/api/HttpTestcase/projects/list/',
    method: 'get',
    params:data
  })
}

// // 项目搜索
// export function projectr(data) {
//   return request({
//     url: '/api/HttpTestcase/projects/list/',
//     method: 'post',
//     data: { 'data': data }
//   })
// }

// 创建项目
export function projectcr(data) {
  return request({
    url: '/api/HttpTestcase/projects/',
    method: 'post',
    data
  })
}

// 删除项目
export function projectde(id) {
  return request({
    url: '/api/HttpTestcase/projects/' + id + '/',
    method: 'delete'
  })
}

// 修改项目
export function projectup(id,data) {
  return request({
    url: '/api/HttpTestcase/projects/' + id + '/',
    method: 'put',
    data
  })
}

// 获取项目名称
export function pronames() {
  return request({
    url: '/api/HttpTestcase/projects/names/',
    method: 'get'
  })
}

// 获取接口列表
export function apilist(data) {
  return request({
    url: `/api/HttpTestcase/interfaces/list/`,
    method: 'get',
    params:data
  })
}

// 获取模块列表
export function modulelist(data) {
  return request({
    url: '/api/HttpTestcase/module/list/',
    method: 'get',
    params:data
  })
}

// 获取环境名称
export function envnamelist() {
  return request({
    url: '/api/HttpTestcase/envs/names/',
    method: 'get',
  })
}


// 查询项目下模块
export function findmodule(id) {
  return request({
    url: '/api/HttpTestcase/module/'+id+'/findmodule/',
    method: 'post',
    data: {'projectId':id},
  })
}

// 创建根模块
export function moduleadd(data) {
  return request({
    url: '/api/HttpTestcase/module/',
    method: 'post',
    data
  })
}

// 查询项目下模块
// export function modulenames(id) {
//   return request({
//     url: '/api/module/'+id+'/names/',
//     method: 'get',
//   })
// }


// 修改模块
export function updatamodule(id,data) {
  return request({
    url: '/api/HttpTestcase/module/' + id + '/',
    method: 'put',
    data
  })
}

// 删除模块
export function dedatamodule(id) {
  return request({
    url: '/api/HttpTestcase/module/' + id + '/',
    method: 'delete',
  })
}


// 创建接口
export function crinter(data) {
  return request({
    url: '/api/HttpTestcase/interfaces/',
    method: 'post',
    data
  })
}

// 编辑接口
export function upinter(id,data) {
  return request({
    url: '/api/HttpTestcase/interfaces/'+id+'/',
    method: 'put',
    data
  })
}

// 接口搜索
// export function interreads(data) {
//   return request({
//     url: '/api/interfaces/reads/',
//     method: 'post',
//     data: data
//   })
// }


// 删除接口
export function interfacede(id) {
  return request({
    url: '/api/HttpTestcase/interfaces/' + id + '/',
    method: 'delete'
  })
}


// 用例列表
export function testcaselist(data) {
  return request({
    url: '/api/HttpTestcase/testcases/list/',
    method: 'get',
    params:data
  })
}

// 创建用例
export function createstcase(data) {
  return request({
    url: '/api/HttpTestcase/testcases/',
    method: 'post',
    data:data,
  })
}

// 用例调试
export function testdebug(data) {
  return request({
    url: '/api/HttpTestcase/testcases/debug/',
    method: 'post',
    data:data,
  })
}

// 更新用例
export function uptest(id,data) {
  return request({
    url: '/api/HttpTestcase/testcases/'+id+'/',
    method: 'put',
    data:data,
  })
}


// 部分更新用例
export function partial(id,data) {
  return request({
    url: '/api/HttpTestcase/testcases/'+id+'/',
    method: 'PATCH',
    data:data,
  })
}

// 部分更新场景
export function testsuite_partial(id,data) {
  return request({
    url: '/api/HttpTestcase/testsuite/'+id+'/',
    method: 'PATCH',
    data:data,
  })
}


// 用例报告列表
export function test_reports(data) {
  return request({
    url: '/api/HttpTestcase/testcase_reports/',
    method: 'get',
    params:data
  })
}

// 场景报告列表
export function testsuite_reports(data) {
  return request({
    url: '/api/HttpTestcase/testsuite_reports/',
    method: 'get',
    params:data
  })
}

// 场景报告ID查询
export function testsuite_reportsId(id) {
  return request({
    url: '/api/HttpTestcase/testsuite_reports/'+id+'/',
    method: 'get',
  })
}

// 用例详情页
export function get_test_reports(id) {
  return request({
    url: '/api/HttpTestcase/testcase_reports/'+id+'/',
    method: 'get',
  })
}

// 用例报告页
export function reports(data) {
  return request({
    url: '/api/HttpTestcase/reports_details/',
    method: 'get',
    params:data
  })
}

// 场景报告页
export function reportssuite_details(data) {
  return request({
    url: '/api/HttpTestcase/reportssuite_details/',
    method: 'get',
    params:data
  })
}



// 用例批量执行
export function testcase_Batch(data) {
  return request({
    url: '/api/HttpTestcase/testcases/batch/',
    method: 'post',
    data:data
  })
}


// 场景列表
export function testsuitelist(data) {
  return request({
    url: '/api/HttpTestcase/testsuite/list/',
    method: 'get',
    params:data
  })
}

// 创建场景
export function crtestsuite(data) {
  return request({
    url: '/api/HttpTestcase/testsuite/',
    method: 'post',
    data:data
  })
}

// 组织场景添加
export function testsuite2testcase(data) {
  return request({
    url: '/api/HttpTestcase/testsuite2testcase/',
    method: 'post',
    data:data
  })
}


// 组织场景列表
export function gettestsuite2testcase(data) {
  return request({
    url: '/api/HttpTestcase/testsuite2testcase/',
    method: 'get',
    params:data
  })
}

// 场景批量执行
export function testsuite_Batch(data) {
  return request({
    url: '/api/HttpTestcase/testsuite/batch/',
    method: 'post',
    data:{'testsuites':data}
  })
}


// 用例批量删除
export function testcase_Batch_Delete(data) {
  return request({
    url: '/api/HttpTestcase/testcases/batch_delete/',
    method: 'delete',
    data:data
  })
}


// 用例报告批量删除
export function testcase_reports_Delete(data) {
  return request({
    url: '/api/HttpTestcase/testcase_reports/batch_delete/',
    method: 'delete',
    data:data
  })
}

// 场景报告批量删除
export function testsuite_reports_Delete(data) {
  return request({
    url: '/api/HttpTestcase/tessuite_reports/batch_delete/',
    method: 'delete',
    data:data
  })
}


// 删除场景
export function testsuitedelete(data) {
  return request({
    url: '/api/HttpTestcase/testsuite/batch_delete/',
    method: 'delete',
    data:data
  })
}


// 场景名称根据项目筛选
export function suiteprojectscreen(data) {
  return request({
    url: '/api/HttpTestcase/testsuite_names/',
    method: 'GET',
    params:data
  })
}


// 场景下用例列表
export function testsuite_testcase_reports(data) {
  return request({
    url: '/api/HttpTestcase/suite_case_reportse/',
    method: 'get',
    params:data
  })
}


// crontab列表
export function crontabList(data) {
  return request({
    url: '/api/CeleryTimedTask/crontab_schedule/',
    method: 'get',
    params:data
  })
}

// crontab创建
export function CreateCrontab(data) {
  return request({
    url: '/api/CeleryTimedTask/crontab_schedule/',
    method: 'post',
    data:data
  })
}


// crontab删除
export function deletecrontab(id) {
  return request({
    url: '/api/CeleryTimedTask/crontab_schedule/'+id+'/',
    method: 'delete',
  })
}


// crontab查询
export function readcrontab(id) {
  return request({
    url: '/api/CeleryTimedTask/crontab_schedule/'+id+'/',
    method: 'get',
  })
}


// crontab修改
export function upcrontab(id,data) {
  return request({
    url: '/api/CeleryTimedTask/crontab_schedule/'+id+'/',
    method: 'put',
    data:data,
  })
}


// 获取已注册任务列表
export function Registeredtaskslist() {
  return request({
    url: '/api/CeleryTimedTask/celer/tasks/registered/',
    method: 'get',
  })
}

// 获取定时任务列表
export function taskslist() {
  return request({
    url: '/api/CeleryTimedTask/timedtask/',
    method: 'get',
  })
}


// 定时任务创建
export function createtasks(data) {
  return request({
    url: '/api/CeleryTimedTask/timedtask/',
    method: 'post',
    data:data,
  })
}

// 定时任务部分修改
export function taskspatch(id,data) {
  return request({
    url: '/api/CeleryTimedTask/timedtask/'+id+'/',
    method: 'patch',
    data:data,
  })
}

// 定时任务修改
export function tasksupdate(id,data) {
  return request({
    url: '/api/CeleryTimedTask/timedtask/'+id+'/',
    method: 'put',
    data:data,
  })
}

// 定时任务删除
export function tasksdelete(id) {
  return request({
    url: '/api/CeleryTimedTask/timedtask/'+id+'/',
    method: 'delete',
  })
}

// 用户信息查询
export function userread(id) {
  return request({
    url: '/api/UserControl/user/'+id+'/',
    method: 'get',
  })
}


// 用户部分修改
export function userupdata(id,data) {
  return request({
    url: '/api/UserControl/user/'+id+'/',
    method: 'patch',
    data,
  })
}


// 修改密码
export function uppassword(data) {
  return request({
    url: '/api/UserControl/password',
    method: 'put',
    data,
  })
}

// 用户列表
export function userlist(data) {
  return request({
    url: '/api/UserControl/user/',
    method: 'get',
    params:data,
  })
}

// 用户创建
export function cruser(data) {
  return request({
    url: '/api/UserControl/user/',
    method: 'post',
    data,
  })
}

// 用户部分修改
export function updatauser(id, data) {
  return request({
    url: '/api/UserControl/user/'+ id +'/',
    method: 'patch',
    data,
  })
}

// 删除用户
export function deleteuser(id) {
  return request({
    url: '/api/UserControl/user/'+ id +'/',
    method: 'delete',
  })
}


// 权限列表
export function permissionslist(data) {
  return request({
    url: '/api/UserControl/permission/',
    method: 'get',
    params: data
  })
}

// 权限创建
export function crpermissions(data) {
  return request({
    url: '/api/UserControl/permission/',
    method: 'post',
    data,
  })
}


// 权限修改
export function uppermissions(data, id) {
  return request({
    url: '/api/UserControl/permission/' + id + '/',
    method: 'put',
    data,
  })
}


// 身份证生成
export function IdCard(data) {
  return request({
    url: '/api/SystemService/IdCard/',
    method: 'post',
    data,
  })
}


// 手机号生成
export function phone(data) {
  return request({
    url: '/api/SystemService/Phone/',
    method: 'post',
    data,
  })
}


// 信用卡号生成
export function Credit(data) {
  return request({
    url: '/api/SystemService/Credit/',
    method: 'post',
    data,
  })
}


// 扩展方法列表
export function methodList(data) {
  return request({
    url: '/api/HttpTestcase/ext_method/',
    method: 'get',
    params:data
  })
}


// 扩展方法创建
export function methodcr(data) {
  return request({
    url: '/api/HttpTestcase/ext_method/',
    method: 'post',
    data:data
  })
}


// 扩展方法修改
export function methodup(id, data) {
  return request({
    url: '/api/HttpTestcase/ext_method/'+id+'/',
    method: 'put',
    data:data
  })
}


// 扩展方法删除
export function methodde(id) {
  return request({
    url: '/api/HttpTestcase/ext_method/'+id+'/',
    method: 'delete',
  })
}